// 存取器:让我们可以有效的控制对 对象的成员的访问,通过getters 和 setters来进行操作
;
(() => {
    class Person {
        // 外部可以传入姓氏的名字数据,同时使用set和get控制姓名的数据,外部也可以进行修改操作
        // 姓名的成员属性(外部可以访问，也可以修改)
        constructor(firstName, lastName) {
            this.firstName = firstName;
            this.lastName = lastName;
        }
        // 读取器 ---- 负责读取数据的
        get fullName() {
            // 姓名====>姓氏和名字的拼接
            return this.firstName + '_' + this.lastName;
        }
        // 设置器 ----负责设置数据的(修改)
        set fullName(value) {
            // 姓名 ---->把姓氏和名字获取到重新的赋值给firstName和lastName
            const nameArr = value.split('_');
            this.firstName = nameArr[0];
            this.lastName = nameArr[1];
        }
    }
    // 实例化对象
    const person = new Person('刘', '柏麟');
    console.log(person);
    // 获取该属性成员属性
    console.log(person.fullName);
    // 设置该属性的数据
    person.fullName = '未容谷雨_泪胭脂';
    console.log(person);
})();
